Міністерство освіти і науки України
Національний університет «Львівська політехніка»
Кафедра автоматизованих систем управління
Звіт
до лабораторних робіт № 5
з курсу «Технологія програмування та створення програмних продуктів»
на тему «Розробка програмного продукту. Етап тестування»
Львів – 2010
Мета: Ознайомлення з основними задачами, які необхідно розв’язати під час виконання етапу тестування
Завдання: Навчитись реалізовувати етап тестування програмного продукту комп’ютерних систем
Теоретична частина
Мета тестування полягає в тому, щоб виявити і виправити помилки. Цей процес допомагає розпізнавати алгоритмічні помилки і помилкове виконання системою своїх функцій. Під алгоритмічною помилкою ми розуміємо конструкцію, яка розроблена неправильно. Одна помилка може викликати безліч неправильних виконань програми. Також помилки можуть бути наслідком інших помилок, це потрібно враховувати при їх аналізі.
Тестування це:
Сертифікація - наприклад, перевірка відповідності системи вимогам клієнта;
Перевірка - наприклад, перевірка відповідності системи вимогам з етапу формування вимог.
Тести призначені для виявлення, і подальшого усунення, максимальної кількості помилок, розрахунку статистики помилок, а також - оцінки надійності всієї системи.
Тести поділяються на:
Динамічні - які порівнюють результати роботи програми з правильними результатами.
Статичні - засновані на аналізі коду.
Існують наступні фази тестування:
Тестування модулів виконується після їх реалізації і об’єднання.
Тестування системи виконується після її інтеграції. Воно охоплює тестування системи і всіх її модулів.
Приймальне випробування. Системи, які розроблені для клієнта, доставляються йому для перевірки. Такі тести називають альфа-тестами. Системи, які розроблені для ринку, доставляються деяким представницьким користувачам (бета-тестувальникам) і перевіряються ними. Такі тести називають бета-тестами.
Основні чинники успіху етапу тестування: визначення спеціальних вимог надійності частин системи і мотивація відповідальних за тестування людей. Оскільки тестуючий персонал найчастіше представляє нижчий рівень в ієрархії службовців, рекомендується призначити для тестування людей, які займаються програмуванням і проектуванням даної системи.
Основні результати етапу тестування:
Покращені код, проект, модель і, можливо, специфікація вимог.
Звіт про тести.
Оцінка надійності системи.
Практична частина.
Проведемо тестування проекту SysBakery. Розглянемо основні види тестування і виберемо найоптимальніші в нашому випадку.
Статистичне тестування – відкинемо цей вид, оскільки:
проект не передбачає серйозних обробок даних, в яких можна допустити помилку;
тестування не можливо провести без участі людини.
Метод прозорої скриньки – оберемо цей вид, оскільки
вхідні дані для таких тестів визначаються свідомо, так, щоб привести програму в найбільш складний стан
дозволяє визначити джерело помилки;
дозволяє знайти помилки в логіці програми.
Автоматизоване тестування – цей вид тестування відкинемо оскільки:
затрати часу на створення юніт-тестів не окупляться при тестуванні.
Метод чорної скриньки – оберемо цей вид оскільки можна:
продемонструвати його відмінності від методу прозорої скриньки.
перевага такого тестування в тому, що людина, яка тестує програму, не мислить стереотипами логіки, що склалась у людей, які цю програму розробили
Статичні тести – відкинемо цей вид, оскільки перегляд коду присутній в методі білої скриньки.
Метод сіяння помилок – не підходить для тестування даного проекту через обмеженість вхідних даних.
Використаємо два типи тестування: тестування методом чорної скриньки, методом білої скриньки. Були обрані тільки ці методи, оскільки інші є менш ефективні у нашому випадку.
Метод чорної скриньки
1. UserUnit
MainProgramUser;
запустили головну сторінку пекарні.
запустилось основне вікно, яке міститиме сторінку авторизації (функція StartProgClient).
(функція CreateConnect)
- після цього програма повідомила, що стан з’єднання з системою...